home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib12.dsk / SORT DEMO PROGRAM 3.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  41 lines

  1. 100  PRINT  CHR$(4)"BLOAD SORT.OBJ0"
  2. 110 :
  3. 120 :
  4. 130  REM  FIX RANDOM NUMBER GENERATOR
  5. 140 :
  6. 150 :
  7. 160  POKE 201,128: POKE 202,79: POKE 203,199: POKE 204,82: POKE 205,255
  8. 170  HIMEM: 36864
  9. 180  DIM NA$(500),B$(500)
  10. 190 :
  11. 200 :
  12. 210  REM  GENERATE RANDOM WORDS TO SORT
  13. 220 :
  14. 230 :
  15. 240  HOME : VTAB 12: HTAB 12: INPUT "HOW MANY WORDS? ";X$:NUM =  VAL(X$): IF NUM <1  OR NUM >500  THEN  PRINT  CHR$(7): GOTO 240
  16. 250  VTAB 12: HTAB 7: FLASH : PRINT "GENERATING "NUM" RANDOM WORDS": NORMAL 
  17. 260  FOR I = 1 TO NUM:A$ = "": FOR J = 1 TO 10:A$ = A$ + CHR$( INT( RND(1) *26 +65)): NEXT :NA$(I) = A$:B$(I) = A$: NEXT 
  18. 270 :
  19. 280 :
  20. 290  REM  IF YOU WISH TO TIME THE SORT
  21. 300  REM  START THE TIMER AS SOON AS THE
  22. 310  REM  WORD SORTING STARTS TO FLASH
  23. 320 :
  24. 330 :
  25. 340  HOME : VTAB 12: HTAB 6: PRINT "PRESS ANY KEY TO BEGIN SORT"
  26. 350 X =  PEEK( -16384): IF X <128  THEN 350
  27. 360  POKE  -16368,0
  28. 370 :
  29. 380 :
  30. 390  REM  SORT INTO ASCENDING ORDER
  31. 400 :
  32. 410 :
  33. 420 SRT = 36864: HOME : VTAB 12: HTAB 17: FLASH : PRINT "SORTING" CHR$(7): NORMAL : CALL SRT,NA$,1,NUM,1,10,A: PRINT  CHR$(7)
  34. 430 :
  35. 440 :
  36. 450  REM  PRINT OUT SORTED AND UNSORTED WORDS
  37. 460 :
  38. 470 :
  39. 480  HOME : HTAB 10: INVERSE : PRINT NUM" RANDOM WORDS": PRINT : HTAB 8: PRINT "UNSORTED";: HTAB 22: PRINT "SORTED": NORMAL : POKE 34,4
  40. 490  HOME : FOR I = 1 TO NUM: PRINT  RIGHT$("    " + STR$(I),4)". "B$(I);: HTAB 20: PRINT NA$(I): NEXT 
  41. 500  PRINT : HTAB 12: PRINT "ALL DONE ...": FOR I = 1 TO 5000: NEXT : TEXT : CLEAR : GOTO 180